package com.topisv.tms.exception;

/**
 * 错误码
 *  Date          Author       Version       Description
 * ----------------------------------------------------------
 *  2015-1-9      CC            1.0           Create
 */
public enum ErrorCode implements IErrorCode{
	DATA_ERROR("S001","数据异常."), // 数据异常 保存失败
	TOKEN_ERROR("S002","用户名密码不匹配."), // HTTP请求验证失败
	XML_ERROR("S003","报文解析失败."), // 报文解析失败
	COUNT_ERROR("S004","点收数据与预约数据不一致."), // 点收数据与下发数据不一致
	FIELD_ERROR("S005","字段[%s] 不能为空."), // 字段不允许为空
	SENDER_ERROR("S006","发送方名称不匹配."), // 发送方不匹配
	RECEIVER_ERROR("S007","接收方名称不匹配."), // 接受方不匹配
	ORDER_REPEAT_ERROR("S008","订单 [%s] 重复."), // 订单重复
	ORDER_CANCELED_ERROR("S009","订单 [%s] 已取消."), // 已取消
	ORDER_NOTFOUND_ERROR("S010","订单 [%s] 不存在."), // 订单不存在
	ORDER_UPED_ERROR("S011","订单 [%s] 已上架，不允许取消."), // 已上架。不允许取消
	SKU_CONFIG_ERROR("S012","SKU [%s] 信息未配置."), // SKU未配置
	ORDER_TYPE_UNDEFIND_ERROR("S013","订单 [%s] 报文类型未定义."), // 报文类型未定义
	INBILL_NOTFOUND_ERROR("S014","订单 [%s] 未找到对应入库单."), // 未找到对应入库单
	COUNT_DISPATCH_ERROR("S015","点收和分配的数量不一致."), // 点收和分配的数量不一致
	INVOICE_INFO_ERROR("S021","订单 [%s]发票信息缺失."), // 发票信息缺失
	COUNT_FINISH_ERROR("S024","已点收完成,不允许重复点收"),//已点收完成,不允许重复点收
	
	CANCEL_NO_EXIST("C001","取消单不存在"),
	CANCEL_BACK("C002","取消单已经退回"),
	STOCK_NOT_ENOUGH("S022","库存不足"),
	WH_NOT_FOUND("S023","指定仓库不存在"),
	
	CHECK_GOODS_STATUS_ERROR("S016","出入库盘点只接受正品盘点."), // 出入库盘点只接受正品盘点
	CHECK_BACK_INFO_ERROR("S018","盘点反馈信息失败."), // 盘点反馈信息失败
	CUS_STOCK_NO_EXIST_ERROR("S017","库存信息不存在."), // 库存信息不存在
	CHECK_FNISH_CANCEL_ERROR("S019","盘点单已完,取消失败."), // 盘点单已完,取消失败
	CHECK_DOING_CANCEL_ERROR("S020","盘点已经开始,取消失败."), // 盘点单已经开始,取消失败
	
	/**	 * 上架任务已分配,请勿重复操作	 */
	REDO_INSTORAGE_UP_DISPATCH_TASK("S021","上架任务已分配,请勿重复操作."),
	/**     * 上架任务已领取,请勿重复操作    */
    REDO1_INSTORAGE_UP_DISPATCH_TASK("S022","上架任务已领取,请勿重复操作."),
    REDO2_INSTORAGE_UP_DISPATCH_TASK("S023","SKU、批次号、生产日期、过期日期不匹配"),
    
	QM_SEND_ERROR("QMS001","奇门接口发送失败"),
	;

	ErrorCode(String code, String message) {
		this.code = code;
		this.message = message;
	}

	private String code;
	private String message;

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}
